1

环境声明
ubuntu 16.04
mongodb 3.6.4

1、mongodb安装--官网教程
官网链接 https://docs.mongodb.com/mast...

1、导入公钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

2、创建mongodb列表文件

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

3、重新加载包

sudo apt-get update

4、安装mongodb

sudo apt-get install -y mongodb-org

5、固定版本

echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

2、创建用户,为远程连接做准备--官网教程
官网中文翻译链接
https://www.yiibai.com/mongod...

1、启动mongodb

按照官网下载的mongodb,默认配置的数据库路径是 /var/lib/mongodb

mongod --port 27017 --dbpath /var/lib/mongodb

2、连接Mongodb

mongo --port 27017

3、创建用户管理员

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

3.1、使用admin 创建远程连接用户

use remotetest
db.createUser(
  {
    user: "remotetest",
    pwd: "abc123",
    roles: [ { role: "readWriter", db: "remotetest" } ]
  }
)

执行完毕后,断开连接

exit

4、修改/etc/mongod.conf

以下部分为节选。只需要把 security 前面的 # 去掉,并且添加 authorization: enabled 即可。

# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

security:
  authorization: enabled
#operationProfiling:

5、重新启动具有访问控制的MongoDB实例

mongo --auth --port --dbpath /var/lib/mongodb

6、连接并验证

$ mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"

或者 先连接后验证

mongo --port 27017
use admin
db.auth('myUserAdmin','abc123')

3、开启远程连接
修改

/etc/mongod.conf

以下代码节选

net:
  port: 27017
  bindIp: 0.0.0.0

4、阿里云创建安全组,开启27017端口


心无私天地宽
513 声望22 粉丝